﻿/** 
 * Copyright / Licence
 * <p>
 * You are free:
 * <li>to Share — to copy, distribute and transmit the work
 * <li>to Remix — to adapt the work
 * </p>
 * <p>
 * Under the following conditions:
 * <li>Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
 * <li>Noncommercial — You may not use this work for commercial purposes.
 * <li>Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
 * </p>
 * <p>
 * More information can be found here:
 * <br/>
 * http://creativecommons.org/licenses/by-nc-sa/3.0/
 * </p>
 * <p>
 * Please contact Manfred Weber [manfred.weber@gmail.com] if you require a commercial licence
 * </p>
 */
 package org.dschini.data.ui.maps.world {
	
	import org.dschini.utils.*;
	import org.dschini.data.ui.maps.*;
	import org.dschini.data.ui.maps.world.europe.*;
	
	public class EuropeMapData extends MapData
	{
		public var spainMapData:SpainMapData;
		public var franceMapData:FranceMapData;
		public var germanyMapData:GermanyMapData;
		public var irelandMapData:IrelandMapData;
		public var northernIrelandMapData:NorthernIrelandMapData;
		public var icelandMapData:IcelandMapData;
		public var ukMapData:UkMapData;
		public var faroeIslandsMapData:FaroeIslandsMapData;
		public var portugalMapData:PortugalMapData;
		public var italyMapData:ItalyMapData;
		public var switzerlandMapData:SwitzerlandMapData;
		public var denmarkMapData:DenmarkMapData;
		public var austriaMapData:AustriaMapData;
		public var sloveniaMapData:SloveniaMapData;
		public var croatiaMapData:CroatiaMapData;
		public var montenegroMapData:MontenegroMapData;
		public var albaniaMapData:AlbaniaMapData;
		public var greeceMapData:GreeceMapData;
		public var westTurkeyMapData:WestTurkeyMapData;
		public var macedoniaMapData:MacedoniaMapData;
		public var bulgariaMapData:BulgariaMapData;
		public var bosniaAndHerzegovinaMapData:BosniaAndHerzegovinaMapData;
		public var serbiaMapData:SerbiaMapData;
		public var romaniaMapData:RomaniaMapData;
		public var moldovaMapData:MoldovaMapData;
		public var ukraineMapData:UkraineMapData;
		public var westKazakhstanMapData:WestKazakhstanMapData;
		public var westRussiaMapData:WestRussiaMapData;
		public var belarusMapData:BelarusMapData;
		public var hungaryMapData:HungaryMapData;
		public var slovakiaMapData:SlovakiaMapData;
		public var czechRepublicMapData:CzechRepublicMapData;
		public var luxembourgMapData:LuxembourgMapData;
		public var belgiumMapData:BelgiumMapData;
		public var netherlandsMapData:NetherlandsMapData;
		public var polandMapData:PolandMapData;
		public var lithuaniaMapData:LithuaniaMapData;
		public var latviaMapData:LatviaMapData;
		public var estoniaMapData:EstoniaMapData;
		public var norwayMapData:NorwayMapData;
		public var swedenMapData:SwedenMapData;
		public var finlandMapData:FinlandMapData;
		public var svalbardMapData:SvalbardMapData
	
		public function EuropeMapData():void
		{
			_title = "<undefined>";
			locationData = new ExtendedArray();
			countries = new Array();
			backgroundVisible = false;
			countryLinesVisible = true;
			shapeVisible = true;

			spainMapData = new SpainMapData();
			franceMapData = new FranceMapData();
			germanyMapData = new GermanyMapData();
			irelandMapData = new IrelandMapData();
			northernIrelandMapData = new NorthernIrelandMapData();
			icelandMapData = new IcelandMapData();
			ukMapData = new UkMapData();
			faroeIslandsMapData = new FaroeIslandsMapData();
			portugalMapData = new PortugalMapData();
			italyMapData = new ItalyMapData();
			switzerlandMapData = new SwitzerlandMapData();
			denmarkMapData = new DenmarkMapData();
			austriaMapData = new AustriaMapData();
			sloveniaMapData = new SloveniaMapData();
			croatiaMapData = new CroatiaMapData();
			montenegroMapData = new MontenegroMapData();
			albaniaMapData = new AlbaniaMapData();
			greeceMapData = new GreeceMapData();
			westTurkeyMapData = new WestTurkeyMapData();
			macedoniaMapData = new MacedoniaMapData();
			bulgariaMapData = new BulgariaMapData();
			bosniaAndHerzegovinaMapData = new BosniaAndHerzegovinaMapData();
			serbiaMapData = new SerbiaMapData();
			romaniaMapData = new RomaniaMapData();
			moldovaMapData = new MoldovaMapData();
			ukraineMapData = new UkraineMapData();
			westKazakhstanMapData = new WestKazakhstanMapData();
			westRussiaMapData = new WestRussiaMapData();
			belarusMapData = new BelarusMapData();
			hungaryMapData = new HungaryMapData();
			slovakiaMapData = new SlovakiaMapData();
			czechRepublicMapData = new CzechRepublicMapData();
			luxembourgMapData = new LuxembourgMapData();
			belgiumMapData = new BelgiumMapData();
			netherlandsMapData = new NetherlandsMapData();
			polandMapData = new PolandMapData();
			lithuaniaMapData = new LithuaniaMapData();
			latviaMapData = new LatviaMapData();
			estoniaMapData = new EstoniaMapData();
			norwayMapData = new NorwayMapData();
			swedenMapData = new SwedenMapData();
			finlandMapData = new FinlandMapData();
			svalbardMapData = new SvalbardMapData
			
			countries = [
				spainMapData,
				franceMapData,
				germanyMapData,
				irelandMapData,
				northernIrelandMapData,
				icelandMapData,
				ukMapData,
				faroeIslandsMapData,
				portugalMapData,
				italyMapData,
				switzerlandMapData,
				denmarkMapData,
				austriaMapData,
				sloveniaMapData,
				croatiaMapData,
				montenegroMapData,
				albaniaMapData,
				greeceMapData,
				westTurkeyMapData,
				macedoniaMapData,
				bulgariaMapData,
				bosniaAndHerzegovinaMapData,
				serbiaMapData,
				romaniaMapData,
				moldovaMapData,
				ukraineMapData,
				westKazakhstanMapData,
				westRussiaMapData,
				belarusMapData,
				hungaryMapData,
				slovakiaMapData,
				czechRepublicMapData,
				luxembourgMapData,
				belgiumMapData,
				netherlandsMapData,
				polandMapData,
				lithuaniaMapData,
				latviaMapData,
				estoniaMapData,
				norwayMapData,
				swedenMapData,
				finlandMapData,
				svalbardMapData
			]
		}
		
		override public function set lang( lang:String ):void
		{
			_lang = lang;
			switch( _lang ){
				case "en":
					_title = "Europe";
					break;
				case "de":
					_title = "Europa";
					break;
			}
			var i:int;
			for(i=0; i<countries.length; i++){
				MapData(countries[i]).lang = lang;
			}
			for(i=0; i<locationData.length; i++){
				MapLocationData(locationData[i]).lang = lang;
			}
		}
	}
}
